﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using BaseData;
using BaseData.Common;
using TaxEntity.Tax;

namespace TaxData.Tax
{
    /// <summary>
    /// 应税数据层
    /// </summary>
    public class TaxRequireData
    {
        /// <summary>
        /// 获取应税信息实体
        /// </summary>
        public TaxRequireEntity GetEntityById(string certificateID, int year, long rentID)
        {
            SqlParameter p1 = new SqlParameter("@certificateID", SqlDbType.VarChar, 25);
            p1.Value = certificateID;
            SqlParameter p2 = new SqlParameter("@year", SqlDbType.Int, 8);
            p2.Value = year;
            SqlParameter p3 = new SqlParameter("@rentid", SqlDbType.BigInt, 16);
            p3.Value = rentID;
            DataTable dt = DataConfig.QueryRecordsByStoredProcedure(BusinessType.DBWrite, "GetRequireTax", p1, p2, p3);
            TaxRequireEntity model = this.GetEntityHelper(dt);
            return model;
        }

        /// <summary>
        /// 从DataTable中得到一个实体对象
        /// </summary>
        private TaxRequireEntity GetEntityHelper(DataTable dt)
        {
            TaxRequireEntity model = null;
            if (dt != null && dt.Rows.Count > 0)
            {
                model = new TaxRequireEntity();

                if (dt.Rows[0]["Year"] != null && dt.Rows[0]["Year"].ToString() != "")
                {
                    model.Year = int.Parse(dt.Rows[0]["Year"].ToString());
                }
                if (dt.Rows[0]["CertificateID"] != null && dt.Rows[0]["CertificateID"].ToString() != "")
                {
                    model.CertificateID = dt.Rows[0]["CertificateID"].ToString();
                }
                if (dt.Rows[0]["RentID"] != null && dt.Rows[0]["RentID"].ToString() != "")
                {
                    model.RentID = long.Parse(dt.Rows[0]["RentID"].ToString());
                }
                if (dt.Rows[0]["RentPrice"] != null && dt.Rows[0]["RentPrice"].ToString() != "")
                {
                    model.RentPrice = decimal.Parse(dt.Rows[0]["RentPrice"].ToString());
                }
                if (dt.Rows[0]["FangchanArea"] != null && dt.Rows[0]["FangchanArea"].ToString() != "")
                {
                    model.FangchanArea = decimal.Parse(dt.Rows[0]["FangchanArea"].ToString());
                }
                if (dt.Rows[0]["OriginalPrice"] != null && dt.Rows[0]["OriginalPrice"].ToString() != "")
                {
                    model.OriginalPrice = decimal.Parse(dt.Rows[0]["OriginalPrice"].ToString());
                }
                if (dt.Rows[0]["TudiArea"] != null && dt.Rows[0]["TudiArea"].ToString() != "")
                {
                    model.TudiArea = decimal.Parse(dt.Rows[0]["TudiArea"].ToString());
                }
                if (dt.Rows[0]["RemainPrice"] != null && dt.Rows[0]["RemainPrice"].ToString() != "")
                {
                    model.RemainPrice = decimal.Parse(dt.Rows[0]["RemainPrice"].ToString());
                }
                if (dt.Rows[0]["DiduanID"] != null && dt.Rows[0]["DiduanID"].ToString() != "")
                {
                    model.DiduanID = int.Parse(dt.Rows[0]["DiduanID"].ToString());
                }
                if (dt.Rows[0]["HouseType"] != null && dt.Rows[0]["HouseType"].ToString() != "")
                {
                    model.HouseType = dt.Rows[0]["HouseType"].ToString();
                }
                if (dt.Rows[0]["TotalTax"] != null && dt.Rows[0]["TotalTax"].ToString() != "")
                {
                    model.TotalTax = decimal.Parse(dt.Rows[0]["TotalTax"].ToString());
                }
                if (dt.Rows[0]["DepartmentID"] != null && dt.Rows[0]["DepartmentID"].ToString() != "")
                {
                    model.DepartmentID = int.Parse(dt.Rows[0]["DepartmentID"].ToString());
                }
                if (dt.Rows[0]["OptUserID"] != null && dt.Rows[0]["OptUserID"].ToString() != "")
                {
                    model.OptUserID = long.Parse(dt.Rows[0]["OptUserID"].ToString());
                }
                if (dt.Rows[0]["AddTime"] != null && dt.Rows[0]["AddTime"].ToString() != "")
                {
                    model.AddTime = DateTime.Parse(dt.Rows[0]["AddTime"].ToString());
                }
                if (dt.Rows[0]["ModifyTime"] != null && dt.Rows[0]["ModifyTime"].ToString() != "")
                {
                    model.ModifyTime = DateTime.Parse(dt.Rows[0]["ModifyTime"].ToString());
                }
                if (dt.Rows[0]["YingyeTax"] != null && dt.Rows[0]["YingyeTax"].ToString() != "")
                {
                    model.YingyeTax = decimal.Parse(dt.Rows[0]["YingyeTax"].ToString());
                }
                if (dt.Rows[0]["PersonalTax"] != null && dt.Rows[0]["PersonalTax"].ToString() != "")
                {
                    model.PersonalTax = decimal.Parse(dt.Rows[0]["PersonalTax"].ToString());
                }
                if (dt.Rows[0]["CityTax"] != null && dt.Rows[0]["CityTax"].ToString() != "")
                {
                    model.CityTax = decimal.Parse(dt.Rows[0]["CityTax"].ToString());
                }
                if (dt.Rows[0]["JiaoyuTax"] != null && dt.Rows[0]["JiaoyuTax"].ToString() != "")
                {
                    model.JiaoyuTax = decimal.Parse(dt.Rows[0]["JiaoyuTax"].ToString());
                }
                if (dt.Rows[0]["DifangJiaoyuTax"] != null && dt.Rows[0]["DifangJiaoyuTax"].ToString() != "")
                {
                    model.DifangJiaoyuTax = decimal.Parse(dt.Rows[0]["DifangJiaoyuTax"].ToString());
                }
                if (dt.Rows[0]["YinhuaTax"] != null && dt.Rows[0]["YinhuaTax"].ToString() != "")
                {
                    model.YinhuaTax = decimal.Parse(dt.Rows[0]["YinhuaTax"].ToString());
                }
                if (dt.Rows[0]["FangchanTax"] != null && dt.Rows[0]["FangchanTax"].ToString() != "")
                {
                    model.FangchanTax = decimal.Parse(dt.Rows[0]["FangchanTax"].ToString());
                }
                if (dt.Rows[0]["TudiTax"] != null && dt.Rows[0]["TudiTax"].ToString() != "")
                {
                    model.TudiTax = decimal.Parse(dt.Rows[0]["TudiTax"].ToString());
                }
            }
            return model;
        }
    }
}
